Autogenerated HTML docs for v1.5.6-rc1-21-g03300
diff --git a/gitrepository-layout.html b/gitrepository-layout.html new file mode 100644 index 0000000..99b3776 --- /dev/null +++ b/gitrepository-layout.html
@@ -0,0 +1,619 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> +<meta name="generator" content="AsciiDoc 7.0.2" /> +<style type="text/css"> +/* Debug borders */ +p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 { +/* + border: 1px solid red; +*/ +} + +body { + margin: 1em 5% 1em 5%; +} + +a { color: blue; } +a:visited { color: fuchsia; } + +em { + font-style: italic; +} + +strong { + font-weight: bold; +} + +tt { + color: navy; +} + +h1, h2, h3, h4, h5, h6 { + color: #527bbd; + font-family: sans-serif; + margin-top: 1.2em; + margin-bottom: 0.5em; + line-height: 1.3; +} + +h1 { + border-bottom: 2px solid silver; +} +h2 { + border-bottom: 2px solid silver; + padding-top: 0.5em; +} + +div.sectionbody { + font-family: serif; + margin-left: 0; +} + +hr { + border: 1px solid silver; +} + +p { + margin-top: 0.5em; + margin-bottom: 0.5em; +} + +pre { + padding: 0; + margin: 0; +} + +span#author { + color: #527bbd; + font-family: sans-serif; + font-weight: bold; + font-size: 1.2em; +} +span#email { +} +span#revision { + font-family: sans-serif; +} + +div#footer { + font-family: sans-serif; + font-size: small; + border-top: 2px solid silver; + padding-top: 0.5em; + margin-top: 4.0em; +} +div#footer-text { + float: left; + padding-bottom: 0.5em; +} +div#footer-badges { + float: right; + padding-bottom: 0.5em; +} + +div#preamble, +div.tableblock, div.imageblock, div.exampleblock, div.verseblock, +div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock, +div.admonitionblock { + margin-right: 10%; + margin-top: 1.5em; + margin-bottom: 1.5em; +} +div.admonitionblock { + margin-top: 2.5em; + margin-bottom: 2.5em; +} + +div.content { /* Block element content. */ + padding: 0; +} + +/* Block element titles. */ +div.title, caption.title { + font-family: sans-serif; + font-weight: bold; + text-align: left; + margin-top: 1.0em; + margin-bottom: 0.5em; +} +div.title + * { + margin-top: 0; +} + +td div.title:first-child { + margin-top: 0.0em; +} +div.content div.title:first-child { + margin-top: 0.0em; +} +div.content + div.title { + margin-top: 0.0em; +} + +div.sidebarblock > div.content { + background: #ffffee; + border: 1px solid silver; + padding: 0.5em; +} + +div.listingblock > div.content { + border: 1px solid silver; + background: #f4f4f4; + padding: 0.5em; +} + +div.quoteblock > div.content { + padding-left: 2.0em; +} +div.quoteblock .attribution { + text-align: right; +} + +div.admonitionblock .icon { + vertical-align: top; + font-size: 1.1em; + font-weight: bold; + text-decoration: underline; + color: #527bbd; + padding-right: 0.5em; +} +div.admonitionblock td.content { + padding-left: 0.5em; + border-left: 2px solid silver; +} + +div.exampleblock > div.content { + border-left: 2px solid silver; + padding: 0.5em; +} + +div.verseblock div.content { + white-space: pre; +} + +div.imageblock div.content { padding-left: 0; } +div.imageblock img { border: 1px solid silver; } +span.image img { border-style: none; } + +dl { + margin-top: 0.8em; + margin-bottom: 0.8em; +} +dt { + margin-top: 0.5em; + margin-bottom: 0; + font-style: italic; +} +dd > *:first-child { + margin-top: 0; +} + +ul, ol { + list-style-position: outside; +} +ol.olist2 { + list-style-type: lower-alpha; +} + +div.tableblock > table { + border-color: #527bbd; + border-width: 3px; +} +thead { + font-family: sans-serif; + font-weight: bold; +} +tfoot { + font-weight: bold; +} + +div.hlist { + margin-top: 0.8em; + margin-bottom: 0.8em; +} +td.hlist1 { + vertical-align: top; + font-style: italic; + padding-right: 0.8em; +} +td.hlist2 { + vertical-align: top; +} + +@media print { + div#footer-badges { display: none; } +} +include::./stylesheets/xhtml11-manpage.css[] +/* Workarounds for IE6's broken and incomplete CSS2. */ + +div.sidebar-content { + background: #ffffee; + border: 1px solid silver; + padding: 0.5em; +} +div.sidebar-title, div.image-title { + font-family: sans-serif; + font-weight: bold; + margin-top: 0.0em; + margin-bottom: 0.5em; +} + +div.listingblock div.content { + border: 1px solid silver; + background: #f4f4f4; + padding: 0.5em; +} + +div.quoteblock-content { + padding-left: 2.0em; +} + +div.exampleblock-content { + border-left: 2px solid silver; + padding-left: 0.5em; +} +</style> +<title>gitrepository-layout(5)</title> +</head> +<body> +<div id="header"> +<h1> +gitrepository-layout(5) Manual Page +</h1> +<h2>NAME</h2> +<div class="sectionbody"> +<p>gitrepository-layout - + Git Repository Layout +</p> +</div> +</div> +<h2>SYNOPSIS</h2> +<div class="sectionbody"> +<p>$GIT_DIR/*</p> +</div> +<h2>DESCRIPTION</h2> +<div class="sectionbody"> +<p>You may find these things in your git repository (<tt>.git</tt> +directory for a repository associated with your working tree, or +<tt><project>.git</tt> directory for a public <em>bare</em> repository. It is +also possible to have a working tree where <tt>.git</tt> is a plain +ascii file containing <tt>gitdir: <path></tt>, i.e. the path to the +real git repository).</p> +<dl> +<dt> +objects +</dt> +<dd> +<p> + Object store associated with this repository. Usually + an object store is self sufficient (i.e. all the objects + that are referred to by an object found in it are also + found in it), but there are couple of ways to violate + it. +</p> +<ol> +<li> +<p> +You could populate the repository by running a commit walker +without <tt>-a</tt> option. Depending on which options are given, you +could have only commit objects without associated blobs and +trees this way, for example. A repository with this kind of +incomplete object store is not suitable to be published to the +outside world but sometimes useful for private repository. +</p> +</li> +<li> +<p> +You also could have an incomplete but locally usable repository +by cloning shallowly. See <a href="git-clone.html">git-clone(1)</a>. +</p> +</li> +<li> +<p> +You can be using <tt>objects/info/alternates</tt> mechanism, or +<tt>$GIT_ALTERNATE_OBJECT_DIRECTORIES</tt> mechanism to <em>borrow</em> +objects from other object stores. A repository with this kind +of incomplete object store is not suitable to be published for +use with dumb transports but otherwise is OK as long as +<tt>objects/info/alternates</tt> points at the right object stores +it borrows from. +</p> +</li> +</ol> +</dd> +<dt> +objects/[0-9a-f][0-9a-f] +</dt> +<dd> +<p> + Traditionally, each object is stored in its own file. + They are split into 256 subdirectories using the first + two letters from its object name to keep the number of + directory entries <tt>objects</tt> directory itself needs to + hold. Objects found here are often called <em>unpacked</em> + (or <em>loose</em>) objects. +</p> +</dd> +<dt> +objects/pack +</dt> +<dd> +<p> + Packs (files that store many object in compressed form, + along with index files to allow them to be randomly + accessed) are found in this directory. +</p> +</dd> +<dt> +objects/info +</dt> +<dd> +<p> + Additional information about the object store is + recorded in this directory. +</p> +</dd> +<dt> +objects/info/packs +</dt> +<dd> +<p> + This file is to help dumb transports discover what packs + are available in this object store. Whenever a pack is + added or removed, <tt>git update-server-info</tt> should be run + to keep this file up-to-date if the repository is + published for dumb transports. <tt>git repack</tt> does this + by default. +</p> +</dd> +<dt> +objects/info/alternates +</dt> +<dd> +<p> + This file records paths to alternate object stores that + this object store borrows objects from, one pathname per + line. Note that not only native Git tools use it locally, + but the HTTP fetcher also tries to use it remotely; this + will usually work if you have relative paths (relative + to the object database, not to the repository!) in your + alternates file, but it will not work if you use absolute + paths unless the absolute path in filesystem and web URL + is the same. See also <em>objects/info/http-alternates</em>. +</p> +</dd> +<dt> +objects/info/http-alternates +</dt> +<dd> +<p> + This file records URLs to alternate object stores that + this object store borrows objects from, to be used when + the repository is fetched over HTTP. +</p> +</dd> +<dt> +refs +</dt> +<dd> +<p> + References are stored in subdirectories of this + directory. The <tt>git prune</tt> command knows to keep + objects reachable from refs found in this directory and + its subdirectories. +</p> +</dd> +<dt> +refs/heads/<tt>name</tt> +</dt> +<dd> +<p> + records tip-of-the-tree commit objects of branch <tt>name</tt> +</p> +</dd> +<dt> +refs/tags/<tt>name</tt> +</dt> +<dd> +<p> + records any object name (not necessarily a commit + object, or a tag object that points at a commit object). +</p> +</dd> +<dt> +refs/remotes/<tt>name</tt> +</dt> +<dd> +<p> + records tip-of-the-tree commit objects of branches copied + from a remote repository. +</p> +</dd> +<dt> +packed-refs +</dt> +<dd> +<p> + records the same information as refs/heads/, refs/tags/, + and friends record in a more efficient way. See + <a href="git-pack-refs.html">git-pack-refs(1)</a>. +</p> +</dd> +<dt> +HEAD +</dt> +<dd> +<p> + A symref (see glossary) to the <tt>refs/heads/</tt> namespace + describing the currently active branch. It does not mean + much if the repository is not associated with any working tree + (i.e. a <em>bare</em> repository), but a valid git repository + <strong>must</strong> have the HEAD file; some porcelains may use it to + guess the designated "default" branch of the repository + (usually <em>master</em>). It is legal if the named branch + <em>name</em> does not (yet) exist. In some legacy setups, it is + a symbolic link instead of a symref that points at the current + branch. +</p> +<p>HEAD can also record a specific commit directly, instead of +being a symref to point at the current branch. Such a state +is often called <em>detached HEAD</em>, and almost all commands work +identically as normal. See <a href="git-checkout.html">git-checkout(1)</a> for +details.</p> +</dd> +<dt> +branches +</dt> +<dd> +<p> + A slightly deprecated way to store shorthands to be used + to specify URL to <tt>git fetch</tt>, <tt>git pull</tt> and <tt>git push</tt> + commands is to store a file in <tt>branches/<name></tt> and + give <em>name</em> to these commands in place of <em>repository</em> + argument. +</p> +</dd> +<dt> +hooks +</dt> +<dd> +<p> + Hooks are customization scripts used by various git + commands. A handful of sample hooks are installed when + <tt>git init</tt> is run, but all of them are disabled by + default. To enable, they need to be made executable. + Read <a href="githooks.html">githooks(5)</a>[hooks] for more details about + each hook. +</p> +</dd> +<dt> +index +</dt> +<dd> +<p> + The current index file for the repository. It is + usually not found in a bare repository. +</p> +</dd> +<dt> +info +</dt> +<dd> +<p> + Additional information about the repository is recorded + in this directory. +</p> +</dd> +<dt> +info/refs +</dt> +<dd> +<p> + This file helps dumb transports discover what refs are + available in this repository. If the repository is + published for dumb transports, this file should be + regenerated by <tt>git update-server-info</tt> every time a tag + or branch is created or modified. This is normally done + from the <tt>hooks/update</tt> hook, which is run by the + <tt>git-receive-pack</tt> command when you <tt>git push</tt> into the + repository. +</p> +</dd> +<dt> +info/grafts +</dt> +<dd> +<p> + This file records fake commit ancestry information, to + pretend the set of parents a commit has is different + from how the commit was actually created. One record + per line describes a commit and its fake parents by + listing their 40-byte hexadecimal object names separated + by a space and terminated by a newline. +</p> +</dd> +<dt> +info/exclude +</dt> +<dd> +<p> + This file, by convention among Porcelains, stores the + exclude pattern list. <tt>.gitignore</tt> is the per-directory + ignore file. <tt>git status</tt>, <tt>git add</tt>, <tt>git rm</tt> and <tt>git + clean</tt> look at it but the core git commands do not look + at it. See also: <a href="gitignore.html">gitignore(5)</a>. +</p> +</dd> +<dt> +remotes +</dt> +<dd> +<p> + Stores shorthands to be used to give URL and default + refnames to interact with remote repository to <tt>git + fetch</tt>, <tt>git pull</tt> and <tt>git push</tt> commands. +</p> +</dd> +<dt> +logs +</dt> +<dd> +<p> + Records of changes made to refs are stored in this + directory. See the documentation on git-update-ref + for more information. +</p> +</dd> +<dt> +logs/refs/heads/<tt>name</tt> +</dt> +<dd> +<p> + Records all changes made to the branch tip named <tt>name</tt>. +</p> +</dd> +<dt> +logs/refs/tags/<tt>name</tt> +</dt> +<dd> +<p> + Records all changes made to the tag named <tt>name</tt>. +</p> +</dd> +<dt> +shallow +</dt> +<dd> +<p> + This is similar to <tt>info/grafts</tt> but is internally used + and maintained by shallow clone mechanism. See <tt>--depth</tt> + option to <a href="git-clone.html">git-clone(1)</a> and <a href="git-fetch.html">git-fetch(1)</a>. +</p> +</dd> +</dl> +</div> +<h2>SEE ALSO</h2> +<div class="sectionbody"> +<p><a href="git-init.html">git-init(1)</a>, +<a href="git-clone.html">git-clone(1)</a>, +<a href="git-fetch.html">git-fetch(1)</a>, +<a href="git-pack-refs.html">git-pack-refs(1)</a>, +<a href="git-gc.html">git-gc(1)</a>, +<a href="git-checkout.html">git-checkout(1)</a>, +<a href="gitglossary.html">gitglossary(7)</a>, +<a href="user-manual.html">The Git User's Manual</a></p> +</div> +<h2>GIT</h2> +<div class="sectionbody"> +<p>Part of the <a href="git.html">git(1)</a> suite.</p> +</div> +<div id="footer"> +<div id="footer-text"> +Last updated 06-Jun-2008 22:46:09 UTC +</div> +</div> +</body> +</html>